import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index.js'

// 同步加载所有模块路由 - 在应用启动前完成
function loadAllModuleRoutes() {
  // 使用 import.meta.glob 的同步版本
  const modules = import.meta.glob('./modules/*/module.config.js', { eager: true })

  for (const path in modules) {
    try {
      const moduleConfig = modules[path]
      if (moduleConfig && moduleConfig.default) {
        const config = moduleConfig.default

        const route = {
          path: config.path,
          name: config.name,
          component: config.component,
          meta: config.meta || {}
        }

        if (config.children && Array.isArray(config.children)) {
          route.children = config.children
        }

        router.addRoute(route)
        console.log(`✓ Module route loaded: ${config.name}`)
      }
    } catch (error) {
      console.error(`✗ Failed to load module: ${path}`, error)
    }
  }
}

// 在应用启动前加载所有路由
loadAllModuleRoutes()

const app = createApp(App)
app.use(router)
app.mount('#app')

console.log('✓ Page Factory 应用已启动！所有路由已加载！')